package com.ysqcould.allocation.domain;


import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ysqcould.common.annotation.Excel;
import com.ysqcould.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 微信用户
对象 t_wx_user
 * 
 * @author ruoyi
 * @date 2022-06-29
 */
@Data
public class WxUser extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 昵称 */
    @Excel(name = "昵称")
    private String nickName;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    private String realName;

    /** 电话 */
    @Excel(name = "电话")
    private String telPhone;

    /** 办公电话 */
    @Excel(name = "办公电话")
    private String phone;

    /** 会内职务 */
    @Excel(name = "会内职务")
    private String internalJob;

    /** 社会职务 */
    @Excel(name = "社会职务")
    private String societyJob;

    /** 邮箱地址 */
    @Excel(name = "邮箱地址")
    private String email;

    /** 头像地址 */
    @Excel(name = "头像地址")
    private String headUrl;

    /** 微信用户在小程序中唯一标识符 */
    @Excel(name = "微信用户在小程序中唯一标识符")
    private String openId;

    /** 性别：1男，2女 */
    @Excel(name = "性别：1男，2女")
    private Long sex;

    /** 生日 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生日", width = 30, dateFormat = "yyyy-MM-dd")
    private Date birthday;

    /** 地址 */
    @Excel(name = "地址")
    private String address;


    /**
     * 地址数组
     */
    @TableField(exist = false)
    private String[] addressList;

    /** 职业 */
    @Excel(name = "职业")
    private String profession;

    /** 团体/企业名称 */
    @Excel(name = "团体/企业名称")
    private String firmName;

    /** 职位名称 */
    @Excel(name = "职位名称")
    private String jobName;

    /** 协会id */
    @Excel(name = "协会id")
    private Long asId;

    /** 用户类型：0平台用户，1协会用户，2协会管理员 */
    @Excel(name = "用户类型：0平台用户，1协会用户，2协会管理员")
    private Long userType;

    /** 会员类型：0平台会员（平台），1个人会员（协会），2企业会员（协会），3团体会员（协会） */
    @Excel(name = "会员类型：0平台会员", readConverterExp = "平=台")
    private Long vipType;

    /** 是否是老会员：0不是，1是 */
    @Excel(name = "是否是老会员：0不是，1是")
    private Long isOld;

    /** 团体会员ID(关联t_group_name表id) */
    @Excel(name = "团体会员ID(关联t_group_name表id)")
    private Long groupNameId;

    /** 是否完善资料：0未完善，1已完善 */
    @Excel(name = "是否完善资料：0未完善，1已完善")
    private Long finishData;

    /** 状态（字典 0正常 1冻结 2删除） */
    @Excel(name = "状态", readConverterExp = "字=典,0=正常,1=冻结,2=删除")
    private Long status;

    /** 登陆授权open_id */
    @Excel(name = "登陆授权open_id")
    private String authOpenId;

    /** 微信用户UnionID */
    @Excel(name = "微信用户UnionID")
    private String unionId;

    /** 通讯录关联id */
    @Excel(name = "通讯录关联id")
    private Long contactsNo;

    /** 用户具体地址 */
    @Excel(name = "用户具体地址")
    private String detailedAddress;

    /** 查看乡村数据类型 （0 查看全部 1查看部分） */
    @Excel(name = "查看乡村数据类型 ", readConverterExp = "0=,查=看全部,1=查看部分")
    private Long type;

    /** 查看文章分类权限id */
    @Excel(name = "查看文章分类权限id")
    private Long articleType;
    /**
     * 入会角色id
     */
    @TableField(exist = false)
    private Long roleId;
}
